/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be.hogent.designpatterns.billenkar.decorators;

import be.hogent.designpatterns.billenkar.*;

/**
 *
 * @author Jeroen
 */
public class BillenkarDecorator extends Billenkar {

    private Billenkar kar;

    /**
     * Maakt een nieuwe BillenkarDecorator aan.
     * @param kar De kar die gedecoreerd moet worden.
     */
    public BillenkarDecorator(Billenkar kar) {
        super();
        this.kar = kar;
    }

    /**
     * @return De omschrijving van de gedecoreerde billenkar.
     */
    @Override
    public String getOmschrijving()
    {
        return kar.getOmschrijving();
    }

    /**
     * @return De prijs van de gedecoreerde billenkar.
     */
    @Override
    public double getPrijs()
    {
        return kar.getPrijs();
    }

    /**
     * Geeft de basiskar terug, zonder decoraties
     * @return de basiskar
     */
    public Billenkar getBasisKar() {
        if(kar instanceof BillenkarDecorator) {
            return ((BillenkarDecorator) kar).getBasisKar();
        }
        else {
            return kar;
        }
    }

}
